home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1992-04-08 | 3.4 KB | 163 lines |
- (* %filename% -- document class *)
- (* Created %date% %time% by AppMaker *)
-
- IMPLEMENTATION MODULE U%appname%Doc;
-
- FROM Types IMPORT
- INT16, INT32, Str255;
- FROM Fonts IMPORT
- GetFNum;
- FROM TextEdit IMPORT
- TextStyle;
- FROM Menus IMPORT
- GetItem, GetMHandle;
- FROM File IMPORT
- GetEOF;
- FROM Object IMPORT
- GENERATE, MEMBERTEST;
- FROM UFailure IMPORT
- FailNIL, FailOSErr;
- FROM UMacApp IMPORT
- kUsesDataFork, kUsesRsrcFork, kDataOpen, kRsrcOpen,
- kSquareDots, kFixedSize,
- gNoChanges,
- TDocument, TCommand, TWindow;
- FROM UMenuSetup IMPORT
- CmdNumber,
- CmdToMenuItem;
- FROM UPrinting IMPORT
- TStdPrintHandler;
- FROM ResourceDefs IMPORT
- mFontID;
- %for each window gen uses%
-
- (*${QINSPECTOR*)
- FROM UMacAppUtilities IMPORT
- bClass,
- DoToFieldMETHOD;
- (*$}*)
-
- CONST
- kFileType = 'TEXT';
- kSignature = 'XXXX'; (*Creator name*)
-
- (*SEG AOpen*)
- (*----------*)
- METHOD T%appname%Doc.I%appname%Doc;
- BEGIN
- IDocument (kFileType, kSignature, kUsesDataFork, NOT kUsesRsrcFork,
- NOT kDataOpen, NOT kRsrcOpen);
- fSavePrintInfo := TRUE; (*default is false*)
- END I%appname%Doc;
-
- (*SEG AClose*)
- (*----------*)
- METHOD T%appname%Doc.Free;
- BEGIN
- FreeData;
- INHERITED Free;
- END Free;
-
- (*SEG AClose*)
- (*----------*)
- METHOD T%appname%Doc.FreeData;
- BEGIN
- END FreeData;
-
- (*SEG AOpen*)
- (*----------*)
- METHOD T%appname%Doc.DoMakeViews (forPrinting: BOOLEAN);
- VAR
- aWindow: TWindow;
- aStdPrintHandler: TStdPrintHandler;
- BEGIN
- %for each window gen makeWindow%
-
- GEN (aStdPrintHandler);
- FailNIL (aStdPrintHandler);
- aStdPrintHandler.IStdPrintHandler (SELF,
- aWindow, (*main view of main window*)
- NOT kSquareDots,
- kFixedSize, (*horizontal page size*)
- NOT kFixedSize); (*vertical page size*)
- END DoMakeViews;
-
- (*SEG AWriteFile*)
- (*----------*)
- METHOD T%appname%Doc.DoNeedDiskSpace (
- VAR dataForkBytes: INT32;
- VAR rsrcForkBytes: INT32);
- BEGIN
- INHERITED DoNeedDiskSpace (dataForkBytes, rsrcForkBytes); (*to save print info*)
- dataForkBytes := dataForkBytes + 0 (*.size of your data.*);
- END DoNeedDiskSpace;
-
- (*SEG AReadFile*)
- (*----------*)
- METHOD T%appname%Doc.DoRead (aRefNum: INT16;
- rsrcExists: BOOLEAN;
- forPrinting: BOOLEAN);
- VAR
- dataSize: INT32;
- BEGIN
- INHERITED DoRead (aRefNum, rsrcExists, forPrinting); (*read printer info*)
- FailOSErr (GetEOF (aRefNum, dataSize)); (*get size of data in file*)
- END DoRead;
-
- (*SEG AWriteFile*)
- (*----------*)
- METHOD T%appname%Doc.DoWrite (aRefNum: INT16;
- makingCopy: BOOLEAN);
- VAR
- dataSize: INT32;
- BEGIN
- INHERITED DoWrite (aRefNum, makingCopy); (*save print info to disk*)
- dataSize := 0 (*.size of your data.*);
- END DoWrite;
-
- (*SEG ARes*)
- (*----------*)
- METHOD T%appname%Doc.DoSetupMenus;
- BEGIN
- INHERITED DoSetupMenus;
- END DoSetupMenus;
-
- %for each menu gen dynamicMenuProc%
- (*SEG ASelCommand*)
- (*----------*)
- METHOD T%appname%Doc.DoMenuCommand (aCmdNumber: CmdNumber): TCommand;
- VAR
- doMenuCommand: TCommand;
- menu: INT16;
- item: INT16;
- BEGIN
- doMenuCommand := gNoChanges;
-
- IF aCmdNumber < 0 THEN
- CmdToMenuItem (aCmdNumber, menu, item);
- %for each menu gen dynamicMenu%
-
- ELSE
- CASE aCmdNumber OF
- | 0:
- ;
- (*.put your menu commands here.*)
- ELSE
- doMenuCommand := INHERITED DoMenuCommand (aCmdNumber);
- END(*CASE*);
- END(*IF*);
- RETURN doMenuCommand;
- END DoMenuCommand;
-
- (*${QINSPECTOR*)
- (*SEG AFields*)
- (*----------*)
- METHOD T%appname%Doc.Fields (DoToField: DoToFieldMETHOD);
- BEGIN
- DoToField ("\LT%appname%Doc", NIL, bClass);
- INHERITED Fields (DoToField);
- END Fields;
- (*$}*)
-
- END U%appname%Doc.
-